Digital halftone color proofers use cyan, magenta, yellow, and black (CMYK) colorants to image halftone bitmap separations and render halftone proofs. An example of such a proofer is the Kodak Approval Digital Color Proofing System. This system allows recipe colors to be generated using different amounts of each of the primary colors. This system also has specialty donors such as orange, green, blue, white, and metallic, which may each be used as a component of a recipe color. For such a system customers need a method to convert a color request, in terms of a color coordinate system such as Commission Internationale de l'Éclairage L*a*b* (CIE_Lab), into a recipe.
The digital proofing system may have different versions of colorants. For instance there may be more than one type of cyan, magenta, yellow, and black, to emulate different ink sets. When new donor sets become available customers need to easily convert recipes from one donor set to another. Customers may have a recipe in a primary donor set such as CMYK, and may desire to add a special color such as orange to perform a closer color match to the color request. It is also desirable to determine how closely a recipe will match the desired color request and which recipe is likely to perform a better match.
Customers may have a recipe using a specific donor color, and may have a need to convert the recipe to a different set of primary colors if the special donor is not available. For example, if one were imaging a blue recipe with a special blue, and were able to create the same color using cyan, magenta, and black, then they might be able to print the image using the CMK recipe when blue was not available. In a machine such as Kodak Approval this might happen if all of the blue donor was expended, or if the blue donor was not loaded into the machine at the time that the image was being printed.
Other color printing systems, paint mixing systems, and ink blending, have the same problem in determining how to render a requested color from numerous available primary colorants. In some of those systems there is a desire to reduce the number of primary colorants used in the output solution. Or there is a need to be able to render the requested color using different primary colorants. Plus there is a desire to know, prior to producing the requested color, how accurate the generated recipe is expected to be.
U.S. Pat. No. 5,087,126 (Pochieh) discloses a method for estimating a color, which includes interpolating between measured points to create additional triangular points to be used. Pochieh does not estimate points that are outside the measured space. Instead he teaches to move the requested color inside the space. Pochieh's method reduces the number of points that must be stored, and is capable of running at high speed.
U.S. Pat. No. 5,870,530 (Balasubramanian) discloses a method of selecting an extra colorant based on a nonlinear function in reflectance. Balasubramanian teaches how to convert a cyan, magenta, and yellow (CMY), input to cyan, magenta, yellow, orange, green, and blue (CMYOGB), with an increase in the OGB levels out such that the increased color saturation of the secondary colors is utilized to increase the saturation in the output image. Balasubramanian teaches how to expand the output color gamut, but does not teach how to faithfully reproduce a requested color.
U.S. Pat. No. 4,275,413 (Sakamoto et al.) discloses estimating color by performing linear interpolation on a tetrahedral collection of data points that surround the requested color. This method uses the minimum amount of data points to estimate the color resulting in the least amount of work.
U.S. Pat. No. 5,528,386 (Rolleston et al.) discloses a method to produce a linear color output in cyan, magenta, yellow, and black, (CMYK), from an input signal consisting of red, green, and blue, (RGB). Rolleston et al. teaches a method of determining how much black to use to perform under color removal, along with an adjustment of the remaining CMY components to produce the desired color.
U.S. Pat. No. 5,892,891 (Datal et al.) discloses a system that uses four colorants to obtain any desired color. Datal et al. teaches comparing the requested color to a primary donor set consisting of CMY to an extended donor set to determine if the requested color is out of the CMY color gamut. Datal et al. does not teach to divide the CMY color space into pages consisting of three color combinations with black and Datal et al. does not teach how to add black to the CMY set. Datal et al. teaches that the primary color set must contain three colors substantially situated about the origin of the color space, and comparing this color gamut to the gamut of a color set that contains the extended color. Datal et al. discloses creating an output data set by eliminating the color opposite to the extended color. Eliminating the opposite color was already being used in the graphic arts when screening high-fi color where the cyan screen angle was used for orange, and the magenta screen angle was being used for green.
Existing algorithms to convert a color specified using red, green, and blue (RGB) components into a cyan, magenta, and yellow (CMY) usually perform a tri-linear approximation based on the three closest points. Using the minimum of three points increases the speed of the calculation allowing it to be accomplished in-line while the CMY colorants are being printed. Lookup tables are used to return the three CMY points given an RGB input.
In converting from RGB to CMYK one needs to select how to determine the black level. One must also select a method for estimating the black level when converting from a colorant independent space such as CIE_Lab. Converting from a first CMYK colorant to a second CMYK colorant has a similar problem. Two popular methods for selecting the black level are under color removal (CCR), and gray component replacement (GCR). GCR is equivalent to selecting the maximum amount of black. Additional methods such as U.S. Pat. No. 5,528,386 may select the minimum amount of black. None of these methods teach to eliminate one of the CMYK output colorants.